package com.xzzz.backend.bsms.server.rbac.sys.dict.name;

import com.xzzz.backend.bsms.server.rbac.sys.dict.pojo.DictEntity;

import java.lang.annotation.*;

/**
 * 标记字典值, 用来在使用 Jackson 序列号对象是, 在 Json 对象中生成对应的字典名称
 */
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
public @interface DictName {
    /**
     * 该字段所属的字典类型 {@link DictEntity#getGroupId()}
     */
    String value() default "";
    /**
     * 该字段所属的字典类型 {@link DictEntity#getGroupId()}
     */
    String groupId() default "";

    /**
     * 生成字典的后缀, 例如被注解的字段为 "state", 则生成的字段名称字段为 stateName
     */
    String suffix() default "Name";
}
